// rustfmt-type_punctuation_density: Compressed
// Type punctuation density

fn lorem<Ipsum: Dolor+Sit=Amet>() {
    // body
}

struct Foo<T: Eq+Clone, U>
where
    U: Eq+Clone, {
    // body
}

trait Foo<'a, T=usize>
where
    T: 'a+Eq+Clone,
{
    type Bar: Eq+Clone;
}

trait Foo: Eq+Clone {
    // body
}

impl<T> Foo<'a> for Bar
where
    for<'a> T: 'a+Eq+Clone,
{
    // body
}

fn foo<'a, 'b, 'c>()
where
    'a: 'b+'c,
{
    // body
}

fn Foo<T=Foo, Output=Expr<'tcx>+Foo>() {
    let i = 6;
}
